package com.demoxin.minecraft.fortuneores;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import net.minecraft.item.ItemStack;
import net.minecraftforge.event.entity.player.ItemTooltipEvent;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
import net.minecraftforge.fml.common.registry.GameRegistry;
import net.minecraftforge.oredict.OreDictionary;
public class OreDictionaryMagic
{
public static Map<ItemStack, Ore> preservedOreDicting;
static
{
preservedOreDicting = new HashMap<ItemStack, Ore>();
}
@SubscribeEvent
public void OreDictTooltip(ItemTooltipEvent event)
{
if(!event.isShowAdvancedItemTooltips())
return;
int[] oreIDs = OreDictionary.getOreIDs(event.getItemStack());
if(oreIDs.length <= 0)
return;
for(int i = 0; i < oreIDs.length; ++i)
event.getToolTip().add(OreDictionary.getOreName(oreIDs[i]));
}
public static void addOreDicting()
{
for(Ore ore : OreDictionaryMagic.preservedOreDicting.values())
{
for(String oreName : ore.oreNames)
OreDictionary.registerOre(oreName, new ItemStack(FortuneOres.itemChunk, 1, ore.meta));
}
}
public static void addSmelting()
{
for(Ore ore : FortuneOres.ores)
{
ItemStack ingot = null;
for(String ingotName : ore.ingotNames)
{
List<ItemStack> ingots = OreDictionary.getOres(ingotName);
if(!ingots.isEmpty())
ingot = ingots.get(0);
}
if(ingot != null)
{
ingot = ingot.copy();
ingot.stackSize = 1;
ItemStack chunk = new ItemStack(FortuneOres.itemChunk, 1, ore.meta);
GameRegistry.addSmelting(chunk, ingot, ore.xpSmelt);
}
}
}
public static void preserve(Ore ore, ItemStack input)
{
preservedOreDicting.put(input, ore);
}
}